﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;

namespace AirLinq.Meta {
	public class MetaTypeTemplate {
		private readonly Type _type;
		private readonly ReadOnlyCollection<MetaMember> _members;
		private readonly ReadOnlyCollection<MetaAssociation> _assocations;
		public MetaTypeTemplate(Type type, ReadOnlyCollection<MetaMember> members, ReadOnlyCollection<MetaAssociation> associations) {
			_type = type;
			_members = members;
			_assocations = associations;
		}
		public Type DeclareType {
			get {
				return _type;
			}
		}
		public ReadOnlyCollection<MetaMember> Members {
			get {
				return _members;
			}
		}
		public ReadOnlyCollection<MetaAssociation> Associations {
			get {
				return _assocations;
			}
		}
	}
}
